Matthias Clasen [Mon, 23 Oct 2017 03:43:05 +0000 (05:43 +0200)]
Drop gtk_drag_set_icon_pixbuf
We are moving away from GdkPixbuf in the api.
Use surface-based replacements instead.
Matthias Clasen [Mon, 23 Oct 2017 03:42:24 +0000 (05:42 +0200)]
Use surface apis in testnotebookdnd
Stop using gtk_drag_set_icon_pixbuf.
This api is going away.
Matthias Clasen [Mon, 23 Oct 2017 03:41:29 +0000 (05:41 +0200)]
tests: Use surface apis in testimage
Stop using gtk_drag_set_icon_pixbuf.
This api is going away.
Matthias Clasen [Mon, 23 Oct 2017 03:40:20 +0000 (05:40 +0200)]
gtk-demo: Use surface apis in the clipboard demo
Stop using gtk_drag_set_icon_pixbuf.
This api is going away.
Matthias Clasen [Mon, 23 Oct 2017 03:27:01 +0000 (05:27 +0200)]
tests: Convert dnd test to surface apis
Stop using gtk_drag_set_icon_pixbuf in testdnd2.
This api is going away.
Matthias Clasen [Mon, 23 Oct 2017 03:22:28 +0000 (05:22 +0200)]
selection: Add another surface api
Of course, we need a getter too.
Alexander Larsson [Sun, 22 Oct 2017 21:03:19 +0000 (23:03 +0200)]
GtkAboutDialog: Use surfaces for logo
Alexander Larsson [Sun, 22 Oct 2017 20:57:55 +0000 (22:57 +0200)]
gtk_image_get_surface: Add docs
Alexander Larsson [Sun, 22 Oct 2017 20:57:21 +0000 (22:57 +0200)]
GtkWindow: Use cairo_surface_t for icons
Matthias Clasen [Sun, 22 Oct 2017 20:21:21 +0000 (22:21 +0200)]
recent chooser: Don't use pixbuf based apis
Use gtk_drag_set_icon_surface here.
Matthias Clasen [Sun, 22 Oct 2017 20:20:12 +0000 (22:20 +0200)]
recent manager: always return a GIcon
Make gtk_recent_info_get_gicon return a useful GIcon in
all cases.
Matthias Clasen [Sun, 22 Oct 2017 20:19:31 +0000 (22:19 +0200)]
selection: Add surface based apis
Add gtk_selection_data_set_surface.
Matthias Clasen [Sun, 22 Oct 2017 20:18:32 +0000 (22:18 +0200)]
image: Add surface based apis
Add gtk_image_get_surface.
Matthias Clasen [Sun, 22 Oct 2017 20:17:43 +0000 (22:17 +0200)]
clipboard: Add surface apis
Add gtk_clipboard_set_surface and gtk_clipboard_wait_for_surface.
Matthias Clasen [Sat, 21 Oct 2017 13:17:36 +0000 (15:17 +0200)]
Fix compiler warnings
I overlooked these when I recently did the render node api changes.
Timm Bäder [Fri, 20 Oct 2017 13:12:28 +0000 (15:12 +0200)]
overlay: Remove unused NULL-check
Timm Bäder [Fri, 20 Oct 2017 08:58:31 +0000 (10:58 +0200)]
window: Make sure we query the window size before size-allocate'ing
Timm Bäder [Thu, 19 Oct 2017 14:58:19 +0000 (16:58 +0200)]
gdkevents: Remove gtk_widget_set_events mention
Doesn't exist anymore.
Timm Bäder [Thu, 19 Oct 2017 13:41:20 +0000 (15:41 +0200)]
renderborder: Don't snapshot all-invisible borders
If all of the borders have an alpha of 0, we don't need to snapshot
anything.
Timm Bäder [Thu, 19 Oct 2017 13:22:00 +0000 (15:22 +0200)]
renderbackground: Minimize style lookups
Move the early returns up so we don't look up all those css values for
no reason.
Timm Bäder [Wed, 18 Oct 2017 08:39:44 +0000 (10:39 +0200)]
widget: Remove outdated comment on get_allocation
The allocation passed to gtk_widget_size_allocate can be retrieved these
days, using gtk_widget_get_allocated_size.
Matthias Clasen [Fri, 20 Oct 2017 12:43:11 +0000 (14:43 +0200)]
window: Remove dead code
GtkWindow never has a parent widget, so we never need to create
a child window for it.
Matthias Clasen [Fri, 20 Oct 2017 09:21:05 +0000 (11:21 +0200)]
Remove some outdated information
Render nodes don't have transformations, currently.
Only transform nodes do.
Matthias Clasen [Fri, 20 Oct 2017 07:11:48 +0000 (09:11 +0200)]
docs: Add render node api
Matthias Clasen [Fri, 20 Oct 2017 07:31:14 +0000 (09:31 +0200)]
Tweak transform node apis
Rename the getter to follow the peek naming scheme.
Update all callers.
Matthias Clasen [Fri, 20 Oct 2017 07:12:19 +0000 (09:12 +0200)]
gsk: Tweak text node apis
Rename getters to follow the peek naming pattern.
Update all callers.
Matthias Clasen [Fri, 20 Oct 2017 06:52:02 +0000 (08:52 +0200)]
gsk: Tweak cairo node apis
Rename the surface getter to peek, following other render
node getters, and make the surface-based constructor private,
since it is not something we want to encourage.
Update all callers.
Matthias Clasen [Fri, 20 Oct 2017 06:06:20 +0000 (08:06 +0200)]
Make render node getter public
Keeping these private does not really buy us anything.
Matthias Clasen [Fri, 20 Oct 2017 06:05:46 +0000 (08:05 +0200)]
Bump version to 3.93
This lets us add new API without deprecation warnings.
Emmanuele Bassi [Fri, 20 Oct 2017 10:22:45 +0000 (11:22 +0100)]
build: Fix gtk_tools array expansion
The gtk_tools variable is an array of arrays; adding a new element
requires to maintain the same type, or we'll get a build failure when
we try to extract the newly added element.
Chun-wei Fan [Tue, 1 Aug 2017 08:49:08 +0000 (16:49 +0800)]
Meson: Support Windows builds
Add the necessary machinery into the Meson definition files so that we
can build for Windows.
Since we don't have Wayland or X support for our use case here, disable
them once we know that we are building for Windows, as they are
(otherwise) enabled by default, and enable the items that need to be
built for Windows builds.
Exclude gtk4-launch from Windows builds as that is something that
is not supported on Windows.
As we won't have gio-unix on Windows, and PangoFT2 is optional, don't use
fallbacks for them when we are on Windows (but do use fallbacks for
gio-win32, as it will be used).
Also, clean up meson.build a bit as we can just force-include
msvc_recommended_pragmas.h from GLib since we depend on GLib, and so we
can handle these warnings from msvc_recommended_pragmas.h instead.
https://bugzilla.gnome.org/show_bug.cgi?id=785210
Michael Catanzaro [Fri, 20 Oct 2017 00:52:11 +0000 (19:52 -0500)]
Revert "gdk/wayland: Avoid idempotent wl_subsurface.set_position calls"
This reverts commit
1607f8c4c64b95329f0c02fde7070c35b2bfb2ad.
https://bugzilla.gnome.org/show_bug.cgi?id=784314
Carlos Garnacho [Thu, 19 Oct 2017 14:13:47 +0000 (16:13 +0200)]
icon-browser: Remove GtkEventBox from .ui file
The patch adding scalable icons' info was forward ported too much as-is
to master. The event box is both unused and unnecessary here.
Matthias Clasen [Thu, 19 Oct 2017 13:15:13 +0000 (15:15 +0200)]
Avoid super-luminous pixels
The color-matrix shader was creating pixels with r,g,b > a in
some cases, which leads to unexpected test failures. In particular
this as visible the opacity render node test for opacity 0.
Marc-Antoine Perennou [Thu, 19 Oct 2017 12:22:23 +0000 (14:22 +0200)]
gdk: add accessor for GdkEventOwnerChange::reason
https://bugzilla.gnome.org/show_bug.cgi?id=789198
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Matthias Clasen [Thu, 19 Oct 2017 10:18:12 +0000 (12:18 +0200)]
Add 3.94 version macros
Matthias Clasen [Thu, 19 Oct 2017 10:01:02 +0000 (12:01 +0200)]
Optimize away trivial opacities
No need to go color matrix on an opacity of 0 or 1.
Debarshi Ray [Wed, 18 Oct 2017 14:44:33 +0000 (16:44 +0200)]
GtkGestureZoom: Don't leak the list of sequences
https://bugzilla.gnome.org/show_bug.cgi?id=789149
Matthias Clasen [Tue, 17 Oct 2017 17:22:27 +0000 (01:22 +0800)]
Add a test for opacity render nodes
This test currently fails with the Vulkan renderer, despite
having its own reference image.
Matthias Clasen [Wed, 18 Oct 2017 21:11:07 +0000 (23:11 +0200)]
3.92.1
Change the project name back to gtk+ to avoid trouble with
tarball names not matching ftpadmin expectations.
Matthias Clasen [Wed, 18 Oct 2017 16:29:53 +0000 (18:29 +0200)]
3.92.0
Matthias Clasen [Wed, 18 Oct 2017 16:46:12 +0000 (18:46 +0200)]
Fix tools test
Matthias Clasen [Wed, 18 Oct 2017 16:35:34 +0000 (18:35 +0200)]
Add a forgotten file
Piotr Drąg [Wed, 18 Oct 2017 15:54:07 +0000 (17:54 +0200)]
Update POTFILES.skip
Matthias Clasen [Wed, 18 Oct 2017 14:45:52 +0000 (16:45 +0200)]
Use the cairo renderer for gtk tests for now
We haven't tracked down yet why the window size tests
fail with Vulkan, so use cairo for now.
Matthias Clasen [Wed, 18 Oct 2017 08:55:02 +0000 (16:55 +0800)]
Fix test environments
Matthias Clasen [Wed, 18 Oct 2017 02:41:57 +0000 (10:41 +0800)]
Install tools tests
At the same time, update the expected test output to match
the current tools output, and write diff and ref files in /tmp.
Matthias Clasen [Wed, 18 Oct 2017 02:18:51 +0000 (10:18 +0800)]
Install gtk tests
Some of these currently fail on my system.
Matthias Clasen [Wed, 18 Oct 2017 01:52:48 +0000 (09:52 +0800)]
redo the gdk installed tests
Matthias Clasen [Wed, 18 Oct 2017 01:48:34 +0000 (09:48 +0800)]
testsuite: be a bit more verbose
This may help tracking down some failures.
Matthias Clasen [Wed, 18 Oct 2017 01:40:53 +0000 (09:40 +0800)]
Install separate render node test for cairo and vulkan
The vulkan test currently fails.
Matthias Clasen [Wed, 18 Oct 2017 01:33:59 +0000 (09:33 +0800)]
testsuite: don't write into installed locations
Save the output of the render node tests in /tmp.
Matthias Clasen [Wed, 18 Oct 2017 01:19:44 +0000 (09:19 +0800)]
Install gdk tests
This was missing so far
Matthias Clasen [Wed, 18 Oct 2017 00:48:16 +0000 (08:48 +0800)]
Test suite cosmetics
Reshuffle things a bit more, sort the test files into subdirectories,
and shorten their names.
Matthias Clasen [Tue, 17 Oct 2017 18:56:41 +0000 (02:56 +0800)]
Add some backend-specific reference images for render nodes
Matthias Clasen [Tue, 17 Oct 2017 18:50:49 +0000 (02:50 +0800)]
Run the gsk tests for both cairo and vulkan
The vulkan tests fail currently.
Matthias Clasen [Tue, 17 Oct 2017 18:50:05 +0000 (02:50 +0800)]
More testsuite cosmetics
Unify the test naming some more.
Matthias Clasen [Wed, 18 Oct 2017 08:55:20 +0000 (16:55 +0800)]
Fix the a11y test
Matthias Clasen [Wed, 18 Oct 2017 15:20:53 +0000 (17:20 +0200)]
Update expected output of statusbar a11y test
Matthias Clasen [Wed, 18 Oct 2017 15:20:14 +0000 (17:20 +0200)]
Fix GtkStatusbarAccessible
GtkStatusbar is no longer a container, so GtkStatusbarAccessible
can no longer be a container accessible.
Matthias Clasen [Wed, 18 Oct 2017 00:53:07 +0000 (08:53 +0800)]
gtk4-demo: Stop using pixdata resources
This does not really help, and pixdata is deprecated.
Matthias Clasen [Wed, 18 Oct 2017 00:53:49 +0000 (08:53 +0800)]
gtk: Stop using pixdata resources
It does not really help, and pixdata is deprecated.
Matthias Clasen [Tue, 17 Oct 2017 09:54:02 +0000 (17:54 +0800)]
testsuite: Add missing files
Matthias Clasen [Tue, 17 Oct 2017 09:35:28 +0000 (17:35 +0800)]
testsuite: Use the cairo renderer for now
Matthias Clasen [Tue, 17 Oct 2017 09:02:00 +0000 (17:02 +0800)]
Distribute all test files
Matthias Clasen [Sun, 15 Oct 2017 07:33:43 +0000 (15:33 +0800)]
Updates
Matthias Clasen [Sun, 15 Oct 2017 03:52:03 +0000 (11:52 +0800)]
Update all css parser tests
I have not tracked down in detail where all these changes originate,
this commit just gets things back to working again.
Matthias Clasen [Sun, 15 Oct 2017 03:48:51 +0000 (11:48 +0800)]
Drop widget style property test
Matthias Clasen [Sun, 15 Oct 2017 02:20:48 +0000 (10:20 +0800)]
Stop testing deprecated css features
Timm Bäder [Tue, 17 Oct 2017 06:49:06 +0000 (08:49 +0200)]
emojichooser: Plug memory leak
Julian Sparber [Mon, 7 Aug 2017 21:33:42 +0000 (23:33 +0200)]
icon-browser: Add scalable icons to icon detail modal window
When making mockups for GNOME apps in Inkscape, looking for symbolic
icons is a common task. Searching for icons in the file system is clumsy,
and icon-browser provides a much better interface for finding them.
However, currently there is no way to insert the symbolic icons as SVG
directly from icon-browser, so right now it is only useful for finding
the name.
This patch adds a sixth column to the modal window that appears when
clicking a symbolic icon. The icon in this column is labeled "scalable",
and dragging it onto another window results in the vector icon URI being
inserted.
This enables a much simpler workflow when designing with symbolic icons.
https://bugzilla.gnome.org/show_bug.cgi?id=778930
Carlos Garnacho [Thu, 5 Oct 2017 23:06:03 +0000 (01:06 +0200)]
gdk/wayland: Avoid idempotent wl_subsurface.set_position calls
These may not result on wl_surface.frame callbacks, yet we do trigger
a frame clock tick that would get stuck on the lack of such callback.
https://bugzilla.gnome.org/show_bug.cgi?id=784314
Aurimas Černius [Sun, 15 Oct 2017 18:30:15 +0000 (21:30 +0300)]
Updated Lithuanian translation
Daniel Boles [Sun, 15 Oct 2017 11:55:22 +0000 (12:55 +0100)]
a11y/entry: Fixups for previous commit
We still declare all variables at the start of the block.
Also, we can use the fast private _gtk_widget_get_allocation().
https://bugzilla.gnome.org/show_bug.cgi?id=784509
Samuel Thibault [Thu, 5 Oct 2017 15:49:00 +0000 (15:49 +0000)]
a11y/entry: Fix text coords not adjusted for alloc
What is missing is the "allocation" part of x/y coordinates. Since
gtk_entry_realize doesn't call gtk_widget_set_window(priv->text_area),
the coordinates returned by gdk_window_get_origin don't include it.
This patch fixes this.
https://bugzilla.gnome.org/show_bug.cgi?id=784509
Daniel Boles [Sat, 14 Oct 2017 17:45:20 +0000 (18:45 +0100)]
Range: Fix inverted horizontal scroll wheel events
Bug 737175 aimed to ensure that scrolling up on a horizontal range would
result in its value increasing, as that’s what users intuitively expect.
However, its commit
416c370da1d2eff2458e4a0c5b8e504cd8061559 meant that,
if the event gives scroll deltas, we inverted our delta unconditionally.
So it broke horizontal scrolling: scrolling left moved the slider right…
We must only invert if using dy as delta. dx already has the right sign,
so inverting it was wrong.
https://bugzilla.gnome.org/show_bug.cgi?id=788905
Timm Bäder [Sat, 14 Oct 2017 10:00:19 +0000 (12:00 +0200)]
gtkcssimagefallback: Implement equals()
The default equals() implementation in gtkcssimage.c just returns FALSE.
This avoids needless redraws, e.g. for disabled switches.
Timm Bäder [Sat, 14 Oct 2017 14:44:54 +0000 (16:44 +0200)]
listboxrow: Remove measure() and size_allocate() impls
GtkListBoxRow is a GtkBin which already does this.
Timm Bäder [Sat, 14 Oct 2017 12:58:53 +0000 (14:58 +0200)]
css: Add GTK_CSS_AFFECTS_ICON_SIZE
And use it in GtkIconHelper. This way, we can avoid resizes when e.g.
the fg color of a symbolic icon changes.
Timm Bäder [Sat, 14 Oct 2017 12:58:13 +0000 (14:58 +0200)]
iconhelper: Short-circuit clear() if it's cleared already
Timm Bäder [Sat, 14 Oct 2017 10:45:17 +0000 (12:45 +0200)]
popover: Explicitly call queue_allocate in tick callback
_gtk_window_set_popover_position is begin called in size-allocate.
Timm Bäder [Sat, 14 Oct 2017 10:41:45 +0000 (12:41 +0200)]
window: Remove widget parameter from popover_size_allocate
We already get that via the popover parameter.
Timm Bäder [Sat, 14 Oct 2017 06:12:05 +0000 (08:12 +0200)]
widget: Whitespace fix
Fallout from one of my earlier commits so not changing ownership here.
Timm Bäder [Sat, 14 Oct 2017 05:37:06 +0000 (07:37 +0200)]
widget: Only check display debug flags if the global ones are set
The gtk_widget_get_display call in this if statement is showing up in
profiles. It ends up walking up the hierarchy to the toplevel to get its
GdkScreen, etc. so it is relatively costly. Avoid that call in most
cases by first checking if the RESIZE debugging is enabled for any of
the displays and only then checking if it is enabled for the widget's
display.
Timm Bäder [Sat, 14 Oct 2017 05:25:19 +0000 (07:25 +0200)]
widget: Avoid some type checks when invalidating window
Use the private _gtk_widget_get_has_window instead of the public version
Timm Bäder [Fri, 13 Oct 2017 10:47:09 +0000 (12:47 +0200)]
adjustment: Drop priv pointer
Daniel Boles [Thu, 12 Oct 2017 13:05:09 +0000 (14:05 +0100)]
Fixed: If can’t add child, don’t add to child info
If the call to set_parent() failed, we were still adding the child to
the internal list of children, despite that it was not really added.
That meant we could later try to do invalid stuff with that non-child.
Fix that by asserting and giving up if the child that the user is
attempting to add is already parented.
https://bugzilla.gnome.org/show_bug.cgi?id=701296
Daniel Boles [Fri, 13 Oct 2017 08:49:34 +0000 (09:49 +0100)]
Fixed: Don’t dereference before typechecking
Daniel Boles [Thu, 12 Oct 2017 23:24:22 +0000 (00:24 +0100)]
icon-browser: Stop repeating folder-documents too
Daniel Boles [Thu, 12 Oct 2017 18:40:45 +0000 (19:40 +0100)]
StyleContext: Add CSS snippet language comments
The language is useful for parsing tools, such as that of gtkmm, which
otherwise assumes these are C snippets and elides them from its
generated documentation.
Carlos Garnacho [Thu, 12 Oct 2017 16:28:35 +0000 (18:28 +0200)]
testsuite: Make all gesture test touches happen in the middle of the window
The event coordinates are (so far) irrelevant to what we are testing here,
just make all events happen in the middle of the window in order to ensure
all widgets receive it. More importantly, avoid using fixed pixel distances,
since we don't get guarantees about window sizes.
Fixes the gestures testsuite on X11.
Timm Bäder [Thu, 12 Oct 2017 14:09:31 +0000 (16:09 +0200)]
testsuite: Updated expected GtkSwitch nodes
The slider comes last now.
Timm Bäder [Thu, 12 Oct 2017 11:18:07 +0000 (13:18 +0200)]
css: Replace _AFFECTS_TEXT with _TEXT_SIZE and _TEXT_CLIP
It was used to mark css properties that affect widgets with text, but it
caused unnecessary invalidations. E.g. 'color' was marked as
AFFECTS_TEXT but changing just the color of a label should not
automatically queue a resize, which is what the code in
gtk_widget_real_style_updated does.
Replace this flag with GTK_CSS_AFFECTS_TEXT_SIZE and
GTK_CSS_AFFECTS_TEXT_CLIP, which GtkWidget can use only if the widget
actually has text.
Timm Bäder [Thu, 12 Oct 2017 10:34:37 +0000 (12:34 +0200)]
csstypesprivate: Remove AFFECTS_PANGO_LAYOUT mention
Doesn't even exist!
Timm Bäder [Thu, 12 Oct 2017 09:46:25 +0000 (11:46 +0200)]
GtkCssStyleChange: Only print values that really changed
Timm Bäder [Thu, 12 Oct 2017 08:41:56 +0000 (10:41 +0200)]
widget: Use blue for resize debugging
Red is already taken by drawing.
Timm Bäder [Wed, 11 Oct 2017 11:26:59 +0000 (13:26 +0200)]
glarea: Make the code snippet compile
Timm Bäder [Wed, 11 Oct 2017 11:20:15 +0000 (13:20 +0200)]
drawingarea: Fix code snippet
Remove state parameter to gtk_style_context_get_color
Timm Bäder [Wed, 11 Oct 2017 11:16:23 +0000 (13:16 +0200)]
window: Make code snippets compile
Fix the wrong signature of a size_allocate signal handler
Carlos Garnacho [Thu, 12 Oct 2017 12:25:53 +0000 (14:25 +0200)]
testsuite: Update gestures test to pointer emulation removal
Now all widgets are mandated to handle the real thing, which means no
pointer events are emulated for the pointer emulating touch. The output
of these tests relied on this fact, so update to the tests handling real
touch events.